package chapter9;

/**
 * 当创建了带泛型声明的接口和父类之后，可以为该类或接口创建实现类
 * 实现类在使用这些接口和父类时不允许再次做泛型声明，如下的形式就是错误的
 * 就像方法声明的参数是形参，使用时要传入具体的实参，对于接口实现和类继承
 * 的实现也是一样的
 */
//错误的形式，继承的父类已经有了泛型的声明，子类依然使用泛型
/*public class SubApple extends Apple<T> {

}*/
//正确的形式，声明了泛型可以不使用泛型
/*
public class SubApple extends Apple {

}*/
//正确的形式，父类声明了形参泛型，子类实现时使用具体的类型替换泛型
public class SubApple extends Apple<String> {

}
